package api.collection;
/**
 * addAll()：将参数集合中的元素添加到当前集合中，添加后当前集合发生改变则返回true
 * containsAll()：判断当前集合中是否包含参数集合中的所有元素
 * - ratainAll()：取交集(交集元素留着)
 * - removeAll()：删交集(交集元素删除)
 */

import java.util.ArrayList;
import java.util.Collection;

public class CollectionOperDemo {
    public static void main(String[] args) {
        Collection c1=new ArrayList();
        c1.add("java");
        c1.add("c++");
        c1.add(".net");
        System.out.println("c1:"+c1);

        Collection c2=new ArrayList();//c1:[java, c++, .net]
        c2.add("android");
        c2.add("ios");
        c2.add("java");
        System.out.println("c2:"+c2);//c2:[android, ios, java]

        //addAll:将集合添加的集合里面
        c1.addAll(c2);//将c2集合中的元素添加的c1里面了,是以添加的方式
        System.out.println("c1:"+c1);//c1:[java, c++, .net,android, ios, java]
        System.out.println("c2:"+c2);//c2:[android, ios, java]

        Collection c3=new ArrayList();
        c3.add("c++");
        c3.add("android");
       // c3.add("php");
        System.out.println("c3:"+c3);//c3:[c++, android, php]
         //containsAll()：判断当前集合中是否包含参数集合中的所有元素
        boolean contains=c1.containsAll(c3);//判断c1中是否包含c3中的所有元素
        System.out.println("是否包含："+contains);//false

        /*
        //取交集:c1中权保留与c3所有的元素，而c3不变--------只留相同的-
        c1.retainAll(c3);//就是c1只保留和c3一样的，其他的都不要----就是引用的变量在变
        System.out.println("c1:"+c1);//c1:[c++, android]
        System.out.println("c3:"+c3);//c3:[c++, android, php]
         */

        //删交集,删除相同的元素
        c1.removeAll(c3);
        System.out.println("c1:"+c1);
        System.out.println("c3:"+c3);





    }
}
